/**
 * GameTask.java
 * com.game.task.api
 * Copyright (c) 2016, 北京聚智未来科技有限公司版权所有.
*/

package com.game.task.api;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.game.task.model.GameTask;
import com.game.task.model.GameTaskUser;
import com.jfinal.core.Controller;

/**
 * 任务列表
 * <p>
 * @author   wxl
 * @Date	 2016年12月12日 	 
 */
public class GameTaskApi extends Controller {

	/**
	 * 默认路径
	 * 测试
	 */
	public void gameTask() {
		System.out.println("+++++++++这是默认 的方法+++++++++");
		render("/gameTask.jsp"); // 跳转到jsp页面
	}

	/**
	 * 查询
	 * 任务列表
	 */
	public Map<String, Object> queryAll() {
		Map<String, Object> map = new HashMap<String, Object>();
		List<GameTask> querylist = GameTask.dao.queryAll();
		map.put("querylist", querylist);
		setAttr("ds", querylist);
		//render("/eova/widget/form/gameTask.html");
		renderJson(querylist);
		return map;
	}

	/**
	 * 查询
	 * 任务详情
	 * @param id
	 */
	public void queryOne() {
		String userId = getPara("userid");
		String id = getPara("id");
		GameTask gt = GameTask.dao.queryOne(id);
		setAttr("gt", gt);
		GameTaskUser gtu = GameTaskUser.dao.queryOne(userId, id);
		if (null != gtu) {
			setAttr("disflag", 1);
		} else {
			setAttr("disflag", 0);
		}
		renderJson();
	}

	/**
	 * 更新
	 * 领取奖励
	 * @param userid
	 * @param id
	 */
	public void addTaskGold() {
		String userId = getPara("userid");
		String id = getPara("id");
		Date d = new Date();
		GameTaskUser isFinish = GameTaskUser.dao.queryOne(userId, id);
		//2.未领取,没有记录
		if (isFinish == null) {
			//TODO执行领取 奖励	
			int jl = GameTask.dao.addTaskGold(userId, id);
			GameTaskUser student = getModel(GameTaskUser.class);
			student.set("userid", userId);
			student.set("taskid", id);
			student.set("taskstatus", 1);
			student.set("accepttime", d);
			student.set("carrytime", d);
			student.set("isdelete", 0);
			boolean flag = student.save();
			setAttr("jls", flag);
			setAttr("jl", jl);
			renderJson();
		} else {
			//TODO执行已领取，已经有记录，代表已经领取
			System.out.println("执行已领取，页面按钮变灰，不可点击!!!");
			//目前按钮变灰，与未领取不一样
		}

	}
}
